﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Threading;

namespace Invini.Training
{
    public delegate void TrainingScriptEventHandler(ITrainingScript trainingScript);
    public interface ITrainingScript : IDisposable
    {
        event TrainingScriptEventHandler Completed;
        event TrainingTriggerEventHandler TriggerConditionSatisfied;
        event TrainingTriggerEventHandler TriggerStarted;
        event TrainingTriggerEventHandler TriggerCompleted;

        string Name
        {
            get;
        }
        string Title
        {
            get;
        }
        string Description
        {
            get;
        }

        void Execute();
    }
}
